/*
 * MainFrame.h
 *
 *  Created on: Aug 25, 2011
 *      Author: erudhes
 */

#ifndef MAINFRAME_H_
#define MAINFRAME_H_
#include <vector>
#include <wx/wx.h>

class MainPanel;

class MainFrame : public wxFrame
{
	public:
		enum
		{
			MAIN_FRAME_WIN_ID = 5500,
			MAIN_FRAME_MENU_NEW_HOST_DIALOG_ID,
			MAIN_FRAME_MENU_NEW_HOST_ERROR_DIALOG_ID,
			MAIN_FRAME_MENU_NEW_JOIN_DIALOG_ID,
			MAIN_FRAME_MENU_NEW_JOIN_ERROR_DIALOG_ID,
			MAIN_FRAME_MENU_NEW_ID_HOST = 5600,
			MAIN_FRAME_MENU_NEW_ID_JOIN,
			MAIN_FRAME_MENU_CLOSE_ID,
			MAIN_FRAME_MENU_EXIT_ID,
			MAIN_FRAME_MENU_NEW_HOST_BITMAP_START_ID = 5700,
			MAIN_FRAME_MENU_NEW_JOIN_TEXT_ID,
			MAIN_FRAME_MENU_NEW_JOIN_BUTTON_ID,
		};
		MainFrame(const wxString& title, long style = wxSYSTEM_MENU | wxCAPTION | wxCLIP_CHILDREN);
		virtual ~MainFrame();
		void onMenuNewHostClicked(wxCommandEvent& menuEvent);
		void onMenuNewJoinClicked(wxCommandEvent& menuEvent);
		void onMenuCloseClicked(wxCommandEvent& menuEvent);
		void onMenuExitClicked(wxCommandEvent& menuEvent);
		void onClicked(wxCommandEvent& commandEvent);

	private:
		void showErrorMessage(const wxString& errorMessage, bool hosting);
		std::vector<wxString> mLevels;
		MainPanel* mMainPanel;

		DECLARE_EVENT_TABLE()
};

#endif /* MAINFRAME_H_ */
